Non-volatile memories such as a NAND flash have small numbers of rewritable times. An information processing apparatus including a non-volatile memory therefore performs wear-leveling control on the non-volatile memory. The information processing apparatus manages the number of times of data rewriting by a page unit and averagely writes pieces of data into a plurality of pages contained in the non-volatile memory. The information processing apparatus can thereby extend the lifetime of the non-volatile memory.
In recent years, high-speed non-volatile memories, which are also referred to as storage class memories, have been developed. The storage class memories enable not only data rewriting by a page unit but also data rewriting by, for example, a byte unit that is a smaller unit than the page.
With the storage class memory, when data rewriting is concentrated on a specific byte, the number of times of rewriting of a page containing the byte is increased regardless of the small number of times of rewriting into other bytes in the page. The information processing apparatus including the storage class memory therefore needs to efficiently access the storage class memory so as not to cause rewriting to be concentrated on a specific byte in a page.